params = {
    'client_num': 10,              # 03-19改：老人数量上限，限制算法处理的老人个数以优化性能
    'caregiver_num': 12,           # 03-19改：护理人员数量上限，限制算法处理的护理人员个数以优化性能
    'population_size': 500,        # 03-19改：遗传算法种群大小，表示每代中保留的排班方案数量
    'crossover_rate': 0.3,         # 03-19改：交叉率，控制两个父代方案交叉生成新方案的概率
    'mutation_rate': 0.115,        # 03-19改：变异率，控制排班方案发生随机变异的概率，用于增加多样性
    'phenotype_limit': 200,        # 03-19改：遗传算法最大迭代代数，限制算法运行的世代数量
    'elimination_size': 5,         # 03-19改：每代淘汰的方案数量，淘汰适应度低的方案
    'initial_temperature': 100.0,  # 03-19改：模拟退火算法初始温度，温度越高初期接受较差解的概率越大
    'cooling_rate': 0.995,         # 03-19改：温度冷却率，控制模拟退火中温度下降速度，值越接近1降温越慢
    'time_slots_per_day': 48,      # 新增参数，表示一天中的时间槽数量
    'time_interval_minutes': 30,   # 新增参数，表示每个时间槽的分钟数
    'caregiver_availability_weight': 0.3,  # 护理员可用性在适应度计算中的权重
    'scheduling_conflict_penalty': 50,  # 调度冲突的惩罚值
    'unassigned_slot_penalty': 30,  # 未分配时间段的惩罚值
    
    # 三班排班相关参数
    'shift_start_time': '08:00',   # 排班开始时间，格式为HH:MM
    'shifts_per_day': 3,           # 每天班次数量，默认为3班
    'hours_per_shift': 8,          # 每班工作小时数，默认为8小时
    'day_night_weight': 0.618,     # 护理员白天黑夜权重比，默认为0.618
    'emergency_reserve_ratio': 0.1, # 紧急预留资源比例，默认为10%
    'schedule_period_type': 'day',  # 排班周期类型：day(天)，week(周)，month(月)，quarter(季度)，year(年)
    'schedule_period_length': 1,    # 排班周期长度，默认为1
}